/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template
 */
package com.yxw.live_vod_facade.feign;

import org.springframework.cloud.openfeign.FeignClient;
import com.yxw.live_vod_facade.dto.LiveShopReporManagerQueryDTO;
import com.yxw.live_vod_facade.dto.YxLiveShopReportDTO;
import com.yxw.live_vod_facade.dto.YxLiveViolationQueryDTO;
import com.yxw.live_vod_facade.dto.YxLiveViolationDTO;
import com.yxw.live_vod_facade.dto.YxLiveAppealDTO;
import com.yxw.live_vod_facade.dto.ManagerArrowLiveShopApplyDTO;
import com.yxw.live_vod_facade.dto.ManagerRefererLiveShopApplyDTO;
import com.yxw.live_vod_facade.dto.ManagerSendLiveQueryDTO;
import com.yxw.live_vod_facade.dto.YxLiveShopPunishAddDTO;
import com.yxw.live_vod_facade.dto.YxLiveShopPunishQueryDTO;
import com.yxw.live_vod_facade.dto.GetliveDetailInfoDTO;
import com.yxw.live_vod_facade.dto.QueryIntIdDTO;
import com.yxw.live_vod_facade.dto.QueryLongIdDTO;
import com.yxw.live_vod_facade.dto.YxLiveActivityProductsQueryDTO;
import com.yxw.live_vod_facade.dto.LiveShopApplyAddressPunishQueryDTO;
import com.yxw.live_vod_facade.dto.ShopManagerAddVirtualVisitorDTO;
import com.yxw.yxnet_cd_center.common.utils.BaseResult;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
 *
 * @author Administrator
 */
@FeignClient(name = "live-vod-boot", contextId = "liveManager")
public interface LiveManagerFeignClient {
    /**
     * 管理员同意店铺开通直播权限
     * @param ManagerArrowLiveShopApplyDTO
     * @return BaseResult
     */  
    @ApiOperation(value ="管理员同意店铺开通直播权限", notes = "此接口用于管理员同意店铺开通直播权限")
    @PostMapping("/api/live/feign/yxlivemanager/managerArrowLiveShopApply")    
    public BaseResult managerArrowLiveShopApply(ManagerArrowLiveShopApplyDTO oManagerArrowLiveShopApplyDTO);

    /**
     * 管理员拒绝店铺开通直播权限
     * @param ManagerRefererLiveShopApplyDTO
     * @return BaseResult
     */
    @ApiOperation(value ="管理员拒绝店铺开通直播权限", notes = "此接口用于管理员拒绝店铺开通直播权限")
    @PostMapping("/api/live/feign/yxlivemanager/managerRefererLiveShopApply")     
    public BaseResult managerRefererLiveShopApply(ManagerRefererLiveShopApplyDTO oManagerRefererLiveShopApplyDTO);

     /**
     * 管理员查询直播
     * @param oManagerSendLiveQueryDTO
     * @return BaseResult
     */ 
    @ApiOperation(value = "管理员查询直播")    
    @PostMapping(value = "/api/live/feign/yxlivemanager/managerSendLiveQuery")    
    public BaseResult managerSendLiveQuery(ManagerSendLiveQueryDTO oManagerSendLiveQueryDTO);
    /*** 
    * 根据liveId查找直播详情
    * @param liveId
    * @return LiveShopApplyAddressEntity
    **/
    @ApiOperation(value ="根据liveId查找直播详情",notes = "此接口用于根据liveId查找直播详情")
    @PostMapping("/api/live/feign/yxlivemanager/getliveDetailInfo")
    public BaseResult getliveDetailInfo(GetliveDetailInfoDTO oGetliveDetailInfoDTO);
    /*** 
    * 增加违规条例
    * @param oYxLiveViolationDTO
    * @return BaseResult
    **/
    @ApiOperation(value ="新增违规条例(YxLiveViolation)", notes = "此接口用于新增违规条例")
    @PostMapping("/api/live/feign/yxlivemanager/addYxLiveViolation")
    public BaseResult addYxLiveViolation(YxLiveViolationDTO oYxLiveViolationDTO);
    /*** 
    * 修改违规条例
    * @param oYxLiveViolationDTO
    * @return BaseResult
    **/
    @ApiOperation(value ="修改违规条例(YxLiveViolation)",notes = "此接口用于修改违规条例信息")
    @PostMapping("/api/live/feign/yxlivemanager/editYxLiveViolation")
    public BaseResult editYxLiveViolation(YxLiveViolationDTO oYxLiveViolationDTO);
    /*** 
    * 删除违规条例  }
    * @param id
    * @param oYxLiveViolationDTO
    * @return BaseResult
    **/
    @ApiOperation(value ="删除违规条例YxLiveViolation",notes = "此接口用于删除违规条例信息")
    @PostMapping("/api/live/feign/yxlivemanager/removeYxLiveViolation")
    public BaseResult removeYxLiveViolation(QueryIntIdDTO oQueryIntIdDTO);
    
    
    /*** 
    * 根据id查找违规条例
    * @param id
    * @param oYxLiveViolationDTO
    * @return YxLiveViolationEntity
    **/ 
    @ApiOperation(value ="根据id查找违规条例",notes = "此接口用于根据id查找违规条例信息")
    @PostMapping("/api/live/feign/yxlivemanager/getYxLiveViolationInfo")
    public BaseResult getYxLiveViolationInfo(QueryIntIdDTO oQueryIntIdDTO);
    
    
    /*** 
    * 自定义分页查询违规条例
    * @param currentPage 当前页
    * @param pageSize 分页大小
    * @param oYxLiveViolationDTO
    * @return Page
    **/
    @ApiOperation(value ="自定义分页查询违规条例",notes = "此接口用于自定义分页查询违规条例信息")
    @PostMapping("/api/live/feign/yxlivemanager/selectYxLiveViolationPage")
    public BaseResult selectYxLiveViolationPage(YxLiveViolationQueryDTO oYxLiveViolationQueryDTO);
    /*** 
    * 自定义不分页查询违规条例
    * @param oYxLiveViolationDTO
    * @return List<YxLiveViolationEntity>
    **/
    @ApiOperation(value ="自定义不分页查询违规条例",notes = "此接口用于自定义不分页查询违规条例信息")
    @PostMapping("/api/live/feign/yxlivemanager/selectYxLiveViolationList")
    public BaseResult selectYxLiveViolationList(YxLiveViolationQueryDTO oYxLiveViolationQueryDTO);
    /*** 
    * 自定义统计违规条例
    * @param oYxLiveViolationDTO
    * @return int
    **/
    @ApiOperation(value ="自定义统计违规条例",notes ="此接口用于自定义统计违规条例记录条数")
    @PostMapping("/api/live/feign/yxlivemanager/selectYxLiveViolationCount")
    public BaseResult selectYxLiveViolationCount(YxLiveViolationQueryDTO oYxLiveViolationQueryDTO);
    /*** 
    * 管理员受理举报记录
    * @param oYxLiveShopReportDTO
    * @return BaseResult
    **/
    @ApiOperation(value ="管理员审核举报记录",notes = "此接口用于管理员审核举报记录")
    @PostMapping("/api/live/feign/yxlivemanager/managerHandleLiveShopReport")
    public BaseResult managerHandleLiveShopReport(YxLiveShopReportDTO oYxLiveShopReportDTO);
    /*** 
    * 管理员处理店铺申诉 
    * @param oYxLiveAppealDTO
    * @return BaseResult
    **/
    @ApiOperation(value ="修改店铺申诉 (YxLiveAppeal)",notes = "此接口用于修改店铺申诉 信息")
    @PostMapping("/api/live/feign/yxlivemanager/managerHandleLiveAppeal")
    public BaseResult managerHandleLiveAppeal(YxLiveAppealDTO oYxLiveAppealDTO);

    /*** 
    * 管理员查询店铺被举报记录
    * @param currentPage 当前页
    * @param pageSize 分页大小
    * @param oYxLiveShopReportDTO
    * @return Page
     **/
    @ApiOperation(value ="管理员查询店铺被举报记录",notes = "此接口用于管理员查询店铺被举报记录")
    @PostMapping("/api/live/feign/yxlivemanager/managerQuewryLiveShopReportPage")
    public BaseResult managerQuewryLiveShopReportPage(LiveShopReporManagerQueryDTO oLiveShopReporManagerQueryDTO);
    /*** 
    * 管理员处罚店铺
    * @param oYxLiveShopPunishDTO
    * @return BaseResult
    **/
    @ApiOperation(value ="管理员处罚店铺",notes = "此接口用于管理员处罚店铺")
    @PostMapping("/api/live/feign/yxlivemanager/managerPunishLiveShop")    
    public BaseResult managerPunishLiveShop(YxLiveShopPunishAddDTO oYxLiveShopPunishAddDTO);
    /*** 
    * 根据id查找店铺处罚记录表
    * @param id
    * @return YxLiveShopPunishEntity
    **/
    @ApiOperation(value ="根据id查找店铺处罚记录表",notes = "此接口用于根据id查找店铺处罚记录表信息")
    @PostMapping("/api/live/feign/yxlivemanager/getYxLiveShopPunishInfo")
    public BaseResult getYxLiveShopPunishInfo(QueryLongIdDTO oQueryLongIdDTO);
    /*** 
    * 自定义分页查询店铺处罚记录表
    * @param currentPage 当前页
    * @param pageSize 分页大小
    * @param oYxLiveShopPunishDTO
    * @return Page
    **/
    @ApiOperation(value ="自定义分页查询店铺处罚记录表",notes = "此接口用于自定义分页查询店铺处罚记录表信息")    
    @PostMapping("/api/live/feign/yxlivemanager/selectYxLiveShopPunishPage")
    public BaseResult selectYxLiveShopPunishPage(YxLiveShopPunishQueryDTO oYxLiveShopPunishQueryDTO);
    /*** 
    * 自定义不分页查询店铺处罚记录表
    * @param oYxLiveShopPunishDTO
    * @return List<YxLiveShopPunishEntity>
    **/
    @ApiOperation(value ="自定义不分页查询店铺处罚记录表",notes = "此接口用于自定义不分页查询店铺处罚记录表信息")    
    @PostMapping("/api/live/feign/yxlivemanager/selectYxLiveShopPunishList")
    public BaseResult selectYxLiveShopPunishList(YxLiveShopPunishQueryDTO oYxLiveShopPunishQueryDTO);
    /*** 
    * 自定义统计店铺处罚记录表
    * @param oYxLiveShopPunishDTO
    * @return int
    **/
    @ApiOperation(value ="自定义统计店铺处罚记录表",notes ="此接口用于自定义统计店铺处罚记录表记录条数")
    @PostMapping("/api/live/feign/yxlivemanager/selectYxLiveShopPunishCount")
    public BaseResult selectYxLiveShopPunishCount(YxLiveShopPunishQueryDTO oYxLiveShopPunishQueryDTO);
    /*** 
    * 自定义分页查询店铺的商品 
    * @param currentPage 当前页
    * @param pageSize 分页大小
    * @param oYxLiveActivityProductsDTO
    * @return Page
    **/
    @ApiOperation(value ="商品_自定义分页查询店铺的商品",notes = "此接口用于自定义分页查询店铺的商品 信息")
    @PostMapping("/api/live/feign/yxlivemanager/liveActivityProductsSelectPage")
    public BaseResult liveActivityProductsSelectPage(YxLiveActivityProductsQueryDTO oYxLiveActivityProductsQueryDTO);

    /*** 
    * 自定义不分页查询店铺的商品 
    * @param oYxLiveActivityProductsDTO
    * @return List<YxLiveActivityProductsEntity>
    **/
    @ApiOperation(value ="商品_自定义不分页查询店铺的商品",notes = "此接口用于自定义不分页查询店铺的商品 信息")
    @PostMapping("/api/live/feign/yxlivemanager/liveActivityProductsSelectList")
    public BaseResult liveActivityProductsSelectList(YxLiveActivityProductsQueryDTO oYxLiveActivityProductsQueryDTO);
    
    /*** 
    * 自定义分页查询VIEW
    * @param currentPage 当前页
    * @param pageSize 分页大小
    * @param oLiveShopApplyAddressPunishDTO
    * @return Page
    **/
    @ApiOperation(value ="自定义分页查询VIEW",notes = "此接口用于自定义分页查询VIEW信息")
    @PostMapping("/api/live/feign/yxlivemanager/liveShopApplyAddressPunishSelectPage")
    public BaseResult liveShopApplyAddressPunishSelectPage(LiveShopApplyAddressPunishQueryDTO oLiveShopApplyAddressPunishQueryDTO);
    /*** 
    * 自定义不分页查询VIEW
    * @param oLiveShopApplyAddressPunishDTO
    * @return List<LiveShopApplyAddressPunishEntity>
    **/
    @ApiOperation(value ="自定义不分页查询VIEW",notes = "此接口用于自定义不分页查询VIEW信息")
    @PostMapping("/api/live/feign/yxlivemanager/liveShopApplyAddressPunishSelectList")
    public BaseResult liveShopApplyAddressPunishSelectList(LiveShopApplyAddressPunishQueryDTO oLiveShopApplyAddressPunishQueryDTO);
    /*** 
    * 系统管理员添加虚拟人数
    * @param QueryStringIdDTO
    * @return int
    **/
    @ApiOperation(value ="直播_系统管理员添加虚拟浏览人数",notes ="此接口用于系统管理员添加虚拟浏览人数")
    @PostMapping("/api/live/feign/yxlivemanager/systemManagerAddVirtualVisitor")
    public BaseResult systemManagerAddVirtualVisitor(ShopManagerAddVirtualVisitorDTO oShopManagerAddVirtualVisitorDTO);
    /*** 
    * 自定义统计VIEW
    * @param oLiveShopApplyAddressPunishDTO
    * @return int
    
    @ApiOperation(value ="自定义统计VIEW",notes ="此接口用于自定义统计VIEW记录条数")
    @PostMapping("/api/live/feign/yxlivemanager/liveShopApplyAddressPunishSelectCount")
    public BaseResult liveShopApplyAddressPunishSelectCount(LiveShopApplyAddressPunishQueryDTO oLiveShopApplyAddressPunishQueryDTO);**/
}
